Matthias Clasen [Sun, 12 Oct 2014 03:20:53 +0000 (23:20 -0400)]
Correct another Since tag
Matthias Clasen [Sun, 12 Oct 2014 03:17:34 +0000 (23:17 -0400)]
Trivial formatting fixes
Matthias Clasen [Sun, 12 Oct 2014 03:04:40 +0000 (23:04 -0400)]
Correct copyright year
Matthias Clasen [Sun, 12 Oct 2014 02:54:49 +0000 (22:54 -0400)]
Correct Since tags
Alexander Larsson [Thu, 9 Oct 2014 15:24:21 +0000 (17:24 +0200)]
gl: Make gdk_gl_context_make_current() return void
Its not really reasonable to handle failures to make_current, it
basically only happens if you pass invalid arguments to it, and
thats not something we trap on similar things on the X drawing side.
If GL is not supported that should be handled by the context creation
failing, and anything going wrong after that is essentially a critical
(or an async X error).
Alexander Larsson [Thu, 9 Oct 2014 14:22:56 +0000 (16:22 +0200)]
X11 GdkGLContext: Remove spurious XSync
This XSync doesn't seem to be necessary. Remove it until otherwise
proven.
Alexander Larsson [Thu, 9 Oct 2014 14:22:47 +0000 (16:22 +0200)]
Fix warning
Alexander Larsson [Thu, 9 Oct 2014 14:09:05 +0000 (16:09 +0200)]
gl: Make all user GdkGLContexts not attached to any window
We make user facing gl contexts not attached to a surface if possible,
or attached to dummy surfaces. This means nothing can accidentally
read/write to the toplevel back buffer.
Alexander Larsson [Thu, 9 Oct 2014 09:25:50 +0000 (11:25 +0200)]
Add glarea demo to gtk3-demo
Alexander Larsson [Thu, 9 Oct 2014 09:16:51 +0000 (11:16 +0200)]
Add tests/testglblending
This test stacks GL and cairo rendering in various
orders to test the layer handling.
Alexander Larsson [Thu, 9 Oct 2014 09:16:11 +0000 (11:16 +0200)]
Add tests/gdkgears
A more complex test modeled on the traditional glxgears.
Alexander Larsson [Thu, 9 Oct 2014 09:14:09 +0000 (11:14 +0200)]
Add tests/testglarea
This is a very simple test of GtkGLArea.
Alexander Larsson [Thu, 9 Oct 2014 09:11:32 +0000 (11:11 +0200)]
Add GtkGLArea widget
Alexander Larsson [Thu, 9 Oct 2014 09:06:48 +0000 (11:06 +0200)]
wayland: Add OpenGL support
This uses EGL to implement GdkGLContext for wayland.
Alexander Larsson [Thu, 9 Oct 2014 09:04:51 +0000 (11:04 +0200)]
wayland: Set GdkVisual::bits_per_rgb to 8
This was 0 before.
Alexander Larsson [Thu, 9 Oct 2014 09:03:47 +0000 (11:03 +0200)]
Add GDK_ALWAYS_USE_GL debug hack
If this is set we always use GL to render each window, even
if there are no GL widgets in the window.
Alexander Larsson [Thu, 9 Oct 2014 08:45:44 +0000 (10:45 +0200)]
gdk: Add support for OpenGL
This adds the new type GdkGLContext that wraps an OpenGL context for a
particular native window. It also adds support for the gdk paint
machinery to use OpenGL to draw everything. As soon as anyone creates
a GL context for a native window we create a "paint context" for that
GdkWindow and switch to using GL for painting it.
This commit contains only an implementation for X11 (using GLX).
The way painting works is that all client gl contexts draw into
offscreen buffers rather than directly to the back buffer, and the
way something gets onto the window is by using gdk_cairo_draw_from_gl()
to draw part of that buffer onto the draw cairo context.
As a fallback (if we're doing redirected drawing or some effect like a
cairo_push_group()) we read back the gl buffer into memory and composite
using cairo. This means that GL rendering works in all cases, including
rendering to a PDF. However, this is not particularly fast.
In the *typical* case, where we're drawing directly to the window in
the regular paint loop we hit the fast path. The fast path uses opengl
to draw the buffer to the window back buffer, either by blitting or
texturing. Then we track the region that was drawn, and when the draw
ends we paint the normal cairo surface to the window (using
texture-from-pixmap in the X11 case, or texture from cairo image
otherwise) in the regions where there is no gl painted.
There are some complexities wrt layering of gl and cairo areas though:
* We track via gdk_window_mark_paint_from_clip() whenever gtk is
painting over a region we previously rendered with opengl
(flushed_region). This area (needs_blend_region) is blended
rather than copied at the end of the frame.
* If we're drawing a gl texture with alpha we first copy the current
cairo_surface inside the target region to the back buffer before
we blend over it.
These two operations allow us full stacking of transparent gl and cairo
regions.
Alexander Larsson [Thu, 9 Oct 2014 08:18:02 +0000 (10:18 +0200)]
Add gdk_window_mark_paint_from_clip and call from widget drawing
This is a new function that gets called every time we're drawing
some area in the Gtk paint machinery. It is a no-op right now, but
it will be required later to keep track of what areas which
we previously rendered with GL was overwritten with cairo contents.
Alexander Larsson [Thu, 9 Oct 2014 08:09:51 +0000 (10:09 +0200)]
Change the way the update area is tracked during paint
First of all we track the current update area during an
update in window->active_update_area. This will be used later
in end_paint to know the damaged area.
Secondly we keep track of old update areas for the last 2
frames. This will later allow us to reuse old framebuffer
contents in double or tripple buffer setups, only painting
what has changed since then.
Alexander Larsson [Thu, 9 Oct 2014 07:58:36 +0000 (09:58 +0200)]
Add internal gdk_cairo_region_from_clip helper
This extract the current cairo clip region if possible and
returns it as a cairo_region_T. It will be needed by later code.
Emmanuele Bassi [Wed, 2 Jul 2014 12:15:01 +0000 (13:15 +0100)]
build: Require libepoxy
If we want to use OpenGL in GDK then we have two choices; either:
- find the GL headers on each platform
- do extension discovery
- implement all the crazy dlopen()/dlsym() dispatch tables
*or* use libepoxy, which shields us from all this madness and provides a
decent layer for GL clients to use, without creating its own namespace.
Epoxy is also used by other projects, like Xorg and piglit, and it's
portable to all the platforms GDK cares about.
https://bugzilla.gnome.org/show_bug.cgi?id=119189
Marek Kasik [Fri, 10 Oct 2014 11:36:30 +0000 (13:36 +0200)]
Get duplex option via IPP
Request "sides-supported" and "sides-default" attributes through
IPP if there is no PPD for selected printer.
Pass "sides" option with other options in printer_get_options().
Add function setup_ipp_option() for creating of IPP option
of given name with passed choices and default value.
Mark such an option as "is-ipp-option" so we can distinguish it
later.
https://bugzilla.gnome.org/show_bug.cgi?id=725441
Jasper St. Pierre [Mon, 13 Oct 2014 09:15:41 +0000 (02:15 -0700)]
gdkwindow-x11: Fix graphical regression from
5e325c4
Before
5e325c4, the default BitGravity was NorthWestGravity.
When static gravities were removed in
5e325c4, the BitGravity regressed
to the X11 default, Forget. Forget causes giant graphical glitches and
black flashes when resizing, especially in some environments that aren't
synchronized to a paint clock yet, like XWayland.
I'm assuming that the author assumed that the default of BitGravity was
NorthWestGravity, which is the default of WinGravity. Just go ahead and
fix this regression to make resizing look smooth again.
Benjamin Otte [Mon, 13 Oct 2014 02:35:24 +0000 (04:35 +0200)]
switch: Use trough style class by default
This allows animating the trough, and saves a save/restore pair.
Benjamin Otte [Mon, 13 Oct 2014 02:23:02 +0000 (04:23 +0200)]
switch: Set PRELIGHT state on widget
Benjamin Otte [Mon, 13 Oct 2014 02:10:07 +0000 (04:10 +0200)]
progressbar: Make the trough the default element
Gets rid of a bunch of save/restore calls and allows animating the
background (but not the slider, booo!)
Benjamin Otte [Mon, 13 Oct 2014 02:00:44 +0000 (04:00 +0200)]
viewport: Remove wrong save/restore
Matthias Clasen [Sun, 12 Oct 2014 22:54:44 +0000 (18:54 -0400)]
GtkListBox: Support placeholders in ui files
This makes the gtk_list_box_set_placeholder functionality
available from GtkBuilder
https://bugzilla.gnome.org/show_bug.cgi?id=738111
Matthias Clasen [Sun, 12 Oct 2014 22:18:04 +0000 (18:18 -0400)]
GtkSearchBar: don't peek out
When the searchbar is hidden, a 1-pixel-high piece of it is
still peeking out, because visible widgets are always allocated
at least 1x1. Work around this by setting child-visible to FALSE
in this situation.
https://bugzilla.gnome.org/show_bug.cgi?id=724096
Matthias Clasen [Sun, 12 Oct 2014 22:15:23 +0000 (18:15 -0400)]
GtkColorSwatch: Avoid style context underflow
The last change accidentally removed the later restore, and
left the earlier, so we ended up with a restore-save sequence.
Thankfully, GtkStyleContext warns about this.
Dušan Kazik [Sun, 12 Oct 2014 21:06:29 +0000 (21:06 +0000)]
Updated Slovak translation
Piotr Drąg [Sun, 12 Oct 2014 13:06:38 +0000 (15:06 +0200)]
Updated POTFILES.in and POTFILES.skip
Matthias Clasen [Sun, 12 Oct 2014 02:04:57 +0000 (22:04 -0400)]
inspector: Bring the selector back
Make it a separate page instead of the old button path.
Benjamin Otte [Sun, 12 Oct 2014 03:51:11 +0000 (05:51 +0200)]
examples: Add deprecation guards
Apparently it's not possible in GtkTextView to say "this style should
apply to all text, including newly inserted text. Or I'm just too stupid
to use its API.
So instead, keep using override_color().
Benjamin Otte [Sun, 12 Oct 2014 03:27:27 +0000 (05:27 +0200)]
tests: Update testexpand example for deprecations
Benjamin Otte [Sun, 12 Oct 2014 03:21:01 +0000 (05:21 +0200)]
tests: Update testtooltips for deprecations
Benjamin Otte [Sun, 12 Oct 2014 03:15:23 +0000 (05:15 +0200)]
tests: Don't force black background in testwindows
Benjamin Otte [Sun, 12 Oct 2014 03:08:54 +0000 (05:08 +0200)]
tests: Update testoverlaystyleclass test
Make it not use deprecations anymore and use CSS to show things work by
changing border-radius when a style class exists.
Benjamin Otte [Sun, 12 Oct 2014 02:54:40 +0000 (04:54 +0200)]
testgtk: Don't trigger deprecation warnings
.. and various other assorted fixes, mostly related to drawing code that
assumed stuff wasn't transparent by default.
Benjamin Otte [Sun, 12 Oct 2014 02:50:40 +0000 (04:50 +0200)]
gdk: Deprecate compositing support
We might want to remove support for it completely and always return
FALSE.
Carlos Soriano [Sun, 12 Oct 2014 01:55:39 +0000 (03:55 +0200)]
gtkplacessidebar: Fix commit
f6870e5b79fd9ab
Commit
f6870e5b79fd9ab introduced a some memory leaks and could be
improved in some areas.
Fix the memory leaks and apply the improvements.
https://bugzilla.gnome.org/show_bug.cgi?id=737983
Benjamin Otte [Sat, 11 Oct 2014 23:40:41 +0000 (01:40 +0200)]
configure: Require glib 2.43
Benjamin Otte [Sat, 11 Oct 2014 01:32:28 +0000 (03:32 +0200)]
colorswatch: Remove unneeded save/restore
for both style context and cairo context.
Benjamin Otte [Sat, 11 Oct 2014 00:40:48 +0000 (02:40 +0200)]
menu: Respect borders properly for scroll arrows
Yosef Or Boczko [Sat, 11 Oct 2014 22:11:36 +0000 (01:11 +0300)]
Updated Hebrew translation
Yosef Or Boczko [Sat, 11 Oct 2014 22:11:26 +0000 (01:11 +0300)]
Updated POTFILES.in
Matthias Clasen [Sat, 11 Oct 2014 21:58:31 +0000 (17:58 -0400)]
inspector: Some improvements for statistics
Show the last two snapshots, plus a delta.
Matthias Clasen [Fri, 10 Oct 2014 03:34:59 +0000 (23:34 -0400)]
inspector: Add a tab for object counts
This can be useful in finding leaks.
https://bugzilla.gnome.org/show_bug.cgi?id=738272
Piotr Drąg [Sat, 11 Oct 2014 15:57:42 +0000 (17:57 +0200)]
Updated POTFILES.in and POTFILES.skip
Lapo Calamandrei [Sat, 11 Oct 2014 12:37:16 +0000 (14:37 +0200)]
Adwaita: fix the special cased sidebar scrollbar...
...which I broke with the latest commit.
Lapo Calamandrei [Sat, 11 Oct 2014 12:31:08 +0000 (14:31 +0200)]
Adwaita: finally kill the scrollbar junction frame...
See https://bugzilla.gnome.org/show_bug.cgi?id=737981
Matthias Clasen [Sat, 11 Oct 2014 12:28:55 +0000 (08:28 -0400)]
GtkToolButton: Apply expected button style classes
Add .image-button or .text-button to the button within,
so our css works as expected for toolbar buttons too.
Matthias Clasen [Sat, 11 Oct 2014 12:15:07 +0000 (08:15 -0400)]
inspector: Cosmetics
Add .image-button to the tool buttons in the CSS editor - still
not square.
Matthias Clasen [Sat, 11 Oct 2014 12:07:04 +0000 (08:07 -0400)]
inspector: Remove a stray separator
Matthias Clasen [Sat, 11 Oct 2014 12:01:57 +0000 (08:01 -0400)]
inspector: Make the window smaller
No need for 1000 pixels of with anymore, after the reorg.
Matthias Clasen [Sat, 11 Oct 2014 11:55:25 +0000 (07:55 -0400)]
inspector: Make resource list columns resizable
This tree has the potential to be deep, and contain long
names, so it forces the window to be wide, unless we
allow the columns to shrink.
Matthias Clasen [Sat, 11 Oct 2014 04:58:47 +0000 (00:58 -0400)]
inspector: Small improvements to the resource tab
Move the close button to the header bar and center the info grid.
Matthias Clasen [Sat, 11 Oct 2014 04:23:21 +0000 (00:23 -0400)]
inspector: Cosmetic fixes
Set scrollbars and shadows consistently.
Matthias Clasen [Sat, 11 Oct 2014 03:25:29 +0000 (23:25 -0400)]
inspector: Cosmetic fixes
Add a missing shadow in the css editor.
Matthias Clasen [Sat, 11 Oct 2014 03:25:07 +0000 (23:25 -0400)]
inspector: Cosmetic fixes
Expand the resource list initially.
Matthias Clasen [Sat, 11 Oct 2014 02:34:32 +0000 (22:34 -0400)]
inspector: Avoid a split pane for objects
Like for the resources page, use a separate page for details
to gain more room for both the tree and the details.
Matthias Clasen [Sat, 11 Oct 2014 01:40:53 +0000 (21:40 -0400)]
inspector: More refactoring
Rename widget tree to object tree. It contains plenty of
non-widgets nowadays, after all.
Matthias Clasen [Sat, 11 Oct 2014 01:13:34 +0000 (21:13 -0400)]
inspector: More refactoring
Get rid of gtk_inspector_widget_tree_get_selected_object,
we can just pass the selected object along with the changed
signal.
Matthias Clasen [Sat, 11 Oct 2014 00:51:54 +0000 (20:51 -0400)]
inspector: Small reshuffling
Move the scrolled window into GtkInspectorWidgetTree.
Matthias Clasen [Sat, 11 Oct 2014 00:33:08 +0000 (20:33 -0400)]
inspector: Drop unused python shell code
This is getting in the way; if somebody comes by who wants
to add scripting support back, we can resurrect this.
Matthias Clasen [Sat, 11 Oct 2014 00:20:02 +0000 (20:20 -0400)]
inspector: Avoid a split pane for resources
There is not much room in the inspector window; squeezing a
tree and a detailed view in the same page is not great. Instead,
make the details a separate page.
Matthias Clasen [Fri, 10 Oct 2014 23:15:02 +0000 (19:15 -0400)]
inspector: Add more data to resource list
Matthias Clasen [Fri, 10 Oct 2014 20:15:01 +0000 (16:15 -0400)]
inspector: Fix up resource tab appearance
Now that it is not in a notebook anymore, we lost the view
class in the background. Add it back.
Matthias Clasen [Fri, 10 Oct 2014 20:06:37 +0000 (16:06 -0400)]
inspector: Save some more space
Instead of nesting two notebooks, use a stack switcher in
the headerbar for the outer notebook. This saves valuable
vertical space.
Matthias Clasen [Fri, 10 Oct 2014 19:52:48 +0000 (15:52 -0400)]
inspector: Drop the button path
The button path takes up quite a bit of room, and is not _that_
useful. If this information is useful, it can find a new home
on the misc tab.
Arash Mousavi [Fri, 10 Oct 2014 21:25:22 +0000 (00:55 +0330)]
Updates Persian Translations
Carlos Garnacho [Fri, 10 Oct 2014 18:38:46 +0000 (20:38 +0200)]
wayland: write wl_data_offer data asynchronously
Currently writing wl_data_offer data into the fd is 1) synchronous, which
is noticeable when transferring large amounts of data, and 2) buggy, write()
error checking is done on the accumulator, breaking both the written data
accounting and error checking itself.
Fix both by making writes asynchonous through GOutputStream, the operation
is spun off and either finished, or cancelled if new data is stored in the
selection while the transfer is active.
Carlos Soriano [Tue, 7 Oct 2014 10:22:38 +0000 (12:22 +0200)]
gtkplacessidebar: Open $HOME after unmounting or ejecting
When a drive is ejected or a volume unmounted the current directory
doesn't change most of the times being empty or being a directory that
user shouldn't take care about, like /run/media
Seems more useful to change to $HOME directory in that case so the user
can see something useful and familiar just after unmounting.
https://bugzilla.gnome.org/show_bug.cgi?id=737983
Carlos Soriano [Thu, 9 Oct 2014 18:31:42 +0000 (20:31 +0200)]
gtkplacessidebar: Don't change location if clicked on eject button
Currently we change the current location if we click the eject button of
a mount.
Check whether the user actually clicked the eject button and don't
change location in that case.
https://bugzilla.gnome.org/show_bug.cgi?id=737983
Lapo Calamandrei [Fri, 10 Oct 2014 12:01:38 +0000 (14:01 +0200)]
Adwaita: dim menu overflow button border color
Lapo Calamandrei [Fri, 10 Oct 2014 11:53:42 +0000 (13:53 +0200)]
Adwaita: style menu overflow button
See bug https://bugzilla.gnome.org/show_bug.cgi?id=738158
Milo Casagrande [Fri, 10 Oct 2014 11:51:06 +0000 (11:51 +0000)]
Updated Italian translation
Matthias Clasen [Fri, 10 Oct 2014 11:43:36 +0000 (07:43 -0400)]
Add top/bottom style classes to scroll arrows
Marek Kasik [Thu, 2 Oct 2014 11:50:47 +0000 (13:50 +0200)]
Get paper sizes from IPP query
Query printer via IPP for paper sizes if there is no
or empty PPD file.
Parse "media-supported" and "media-size-supported" attributes for list
of paper sizes. Parse "media-default" and "media-col-default" attributes
for default settings.
https://bugzilla.gnome.org/show_bug.cgi?id=725441
Marek Kasik [Wed, 1 Oct 2014 13:17:39 +0000 (15:17 +0200)]
Remove dead code from CUPS backend
https://bugzilla.gnome.org/show_bug.cgi?id=725441
Marek Kasik [Mon, 6 Oct 2014 10:37:56 +0000 (12:37 +0200)]
Create paper size from IPP media name
Add function gtk_paper_size_new_from_ipp() which looks for
given name in standard paper size names list and create appropriate
GtkPaperSize.
https://bugzilla.gnome.org/show_bug.cgi?id=725441
Marek Kasik [Thu, 2 Oct 2014 13:41:45 +0000 (15:41 +0200)]
Update paper size names
Update list of standardized paper size names from
PWG Media Standardized Names 2.0 (MSN2) and from
CUPS' cups/pwg-media.c.
https://bugzilla.gnome.org/show_bug.cgi?id=725441
Matthias Clasen [Fri, 10 Oct 2014 03:00:22 +0000 (23:00 -0400)]
inspector: Add a way to disable the warning dialog
Matthias Clasen [Wed, 8 Oct 2014 02:59:07 +0000 (22:59 -0400)]
GtkScrolledWindow: Introduce a helper function
Instead of making assumptions about enum value ordering,
introduce a helper function to determine policy values
for which the scrollbar may be visible.
Matthias Clasen [Fri, 10 Oct 2014 00:17:10 +0000 (20:17 -0400)]
Add an example for synchronized scrolling
This example uses GTK_POLICY_EXTERNAL to share a scrollbar among
multiple scrolled windows.
Matthias Clasen [Sun, 5 Oct 2014 03:15:04 +0000 (23:15 -0400)]
GtkScrolledWindow: Allow scrolling without bars
Add a new policy, GTK_POLICY_EXTERNAL, which hides the scrollbar,
but does not force the scrolled windows size to be determined by
its child. This can be used to keep two scrolled windows in sync,
while sharing a single scrollbar.
https://bugzilla.gnome.org/show_bug.cgi?id=730730
Benjamin Otte [Thu, 9 Oct 2014 23:02:34 +0000 (01:02 +0200)]
shadows: Respect scaled factors for cached surface
Benjamin Otte [Thu, 9 Oct 2014 22:09:03 +0000 (00:09 +0200)]
render: Optimize the no-borders case to exit early
Benjamin Otte [Thu, 9 Oct 2014 22:08:02 +0000 (00:08 +0200)]
tests: Exit test when main window is closed
Matthias Clasen [Thu, 9 Oct 2014 22:11:18 +0000 (18:11 -0400)]
Add a note about text view issues
Mention text view background problems and the draw_layer
vfunc in the release notes.
Matthias Clasen [Thu, 9 Oct 2014 19:30:52 +0000 (15:30 -0400)]
GtkMenuButton: Submit to action
As an actionable (inherited from GtkButton), a GtkMenuButton
should not set its own sensitivity when it has an action-name
set, but just follow the enabled state of the associated
action.
https://bugzilla.gnome.org/show_bug.cgi?id=738083
Matthias Clasen [Thu, 9 Oct 2014 04:22:13 +0000 (00:22 -0400)]
Remove an unused internal export
_gtk_scrolled_window_get_scrollbar_spacing is only used in
gtkscrolledwindow.c, so keep it there.
Matthias Clasen [Thu, 9 Oct 2014 04:12:46 +0000 (00:12 -0400)]
ColorChooser: Fix an off-by-one error
We were not filling the last free space in the custom color
row.
Lapo Calamandrei [Wed, 8 Oct 2014 15:47:15 +0000 (17:47 +0200)]
Adwaita: color button changes
Dimmed inner colorswatch shadow to make brighter colors looks nice,
increased the padding to make button states more evident, 0 border
radius to match the padding change and no colorswatch shadows when
the button is insensitive.
Lars Uebernickel [Wed, 8 Oct 2014 15:24:30 +0000 (17:24 +0200)]
Distribute gtk/resources/ui/*.ui.h
POTFILES references them.
Lapo Calamandrei [Wed, 8 Oct 2014 15:23:45 +0000 (17:23 +0200)]
Adwaita: colorchooser style rewrite
To reflect latest Benjamin changes. As a bonus the colorchooser
looks better to me, same for the scss code.
Lapo Calamandrei [Wed, 8 Oct 2014 12:08:04 +0000 (14:08 +0200)]
Adwaita: don't round scrolled window frame corners
See https://bugzilla.gnome.org/show_bug.cgi?id=737985
Benjamin Otte [Wed, 8 Oct 2014 11:18:35 +0000 (13:18 +0200)]
colorswatch: Use a better name for the overlay
Name it .overlay and not .image
Benjamin Otte [Wed, 8 Oct 2014 11:17:55 +0000 (13:17 +0200)]
colorswatch: Draw the image overlay over the whole widget
Benjamin Otte [Wed, 8 Oct 2014 03:23:11 +0000 (05:23 +0200)]
themingbackground: Use fill() instead of clip() + paint()
It's simpler code and I believe it's faster, too.